<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Installation from Source Code on Windows</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 9.1.2 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Server Administration"
HREF="admin.html"><LINK
REL="PREVIOUS"
TITLE="Platform-specific Notes"
HREF="installation-platform-notes.html"><LINK
REL="NEXT"
TITLE="Building with Visual C++ or the
  Platform SDK"
HREF="install-windows-full.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2011-12-01T22:07:59"></HEAD
><BODY
CLASS="CHAPTER"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.1.2 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="Platform-specific Notes"
HREF="installation-platform-notes.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="admin.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="Building with Visual C++ or the
  Platform SDK"
HREF="install-windows-full.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="INSTALL-WINDOWS"
></A
>Chapter 16. Installation from Source Code on <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>16.1. <A
HREF="install-windows-full.html"
>Building with <SPAN
CLASS="PRODUCTNAME"
>Visual C++</SPAN
> or the
  <SPAN
CLASS="PRODUCTNAME"
>Platform SDK</SPAN
></A
></DT
><DD
><DL
><DT
>16.1.1. <A
HREF="install-windows-full.html#AEN24722"
>Requirements</A
></DT
><DT
>16.1.2. <A
HREF="install-windows-full.html#AEN24821"
>Special Considerations for 64-bit Windows</A
></DT
><DT
>16.1.3. <A
HREF="install-windows-full.html#AEN24829"
>Building</A
></DT
><DT
>16.1.4. <A
HREF="install-windows-full.html#AEN24845"
>Cleaning and Installing</A
></DT
><DT
>16.1.5. <A
HREF="install-windows-full.html#AEN24856"
>Running the Regression Tests</A
></DT
><DT
>16.1.6. <A
HREF="install-windows-full.html#AEN24869"
>Building the Documentation</A
></DT
></DL
></DD
><DT
>16.2. <A
HREF="install-windows-libpq.html"
>Building <SPAN
CLASS="APPLICATION"
>libpq</SPAN
> with
  <SPAN
CLASS="PRODUCTNAME"
>Visual C++</SPAN
> or
  <SPAN
CLASS="PRODUCTNAME"
>Borland C++</SPAN
></A
></DT
></DL
></DIV
><P
>  It is recommended that most users download the binary distribution for
  Windows, available as a one-click installer package
  from the <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> website. Building from source
  is only intended for people developing <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
>
  or extensions.
 </P
><P
>  There are several different ways of building PostgreSQL on
  <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>. The simplest way to build with
  Microsoft tools is to install a supported version of the
  <SPAN
CLASS="PRODUCTNAME"
>Microsoft Platform SDK</SPAN
> and use the included
  compiler. It is also possible to build with the full
  <SPAN
CLASS="PRODUCTNAME"
>Microsoft Visual C++ 2005 or 2008</SPAN
>. In some cases
  that requires the installation of the <SPAN
CLASS="PRODUCTNAME"
>Platform SDK</SPAN
>
  in addition to the compiler.
 </P
><P
>  It is also possible to build PostgreSQL using the GNU compiler tools
  provided by <SPAN
CLASS="PRODUCTNAME"
>MinGW</SPAN
>, or using
  <SPAN
CLASS="PRODUCTNAME"
>Cygwin</SPAN
> for older versions of
  <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>.
 </P
><P
>  Finally, the client access library
  (<SPAN
CLASS="APPLICATION"
>libpq</SPAN
>) can be built using
  <SPAN
CLASS="PRODUCTNAME"
>Visual C++ 7.1</SPAN
> or
  <SPAN
CLASS="PRODUCTNAME"
>Borland C++</SPAN
> for compatibility with statically
  linked applications built using these tools.
 </P
><P
>  Building using <SPAN
CLASS="PRODUCTNAME"
>MinGW</SPAN
> or
  <SPAN
CLASS="PRODUCTNAME"
>Cygwin</SPAN
> uses the normal build system, see
  <A
HREF="installation.html"
>Chapter 15</A
> and the specific notes in
  <A
HREF="installation-platform-notes.html#INSTALLATION-NOTES-MINGW"
>Section 15.7.5</A
> and <A
HREF="installation-platform-notes.html#INSTALLATION-NOTES-CYGWIN"
>Section 15.7.2</A
>.
  To produce native 64 bit binaries in these environments, use the tools from
  <SPAN
CLASS="PRODUCTNAME"
>MinGW-w64</SPAN
>. These tools can also be used to
  cross-compile for 32 bit and 64 bit <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>
  targets on other hosts, such as <SPAN
CLASS="PRODUCTNAME"
>Linux</SPAN
> and
  <SPAN
CLASS="PRODUCTNAME"
>Darwin</SPAN
>.
  <SPAN
CLASS="PRODUCTNAME"
>Cygwin</SPAN
> is not recommended for running a
  production server, and it should only be used for running on
  older versions of <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
> where
  the native build does not work, such as
  <SPAN
CLASS="PRODUCTNAME"
>Windows 98</SPAN
>. The official
  binaries are built using <SPAN
CLASS="PRODUCTNAME"
>Visual Studio</SPAN
>.
 </P
><P
>  Native builds of <SPAN
CLASS="APPLICATION"
>psql</SPAN
> don't support command
  line editing. The <SPAN
CLASS="PRODUCTNAME"
>Cygwin</SPAN
> build does support
  command line editing, so it should be used where psql is needed for
  interactive use on  <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>.
 </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="installation-platform-notes.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="install-windows-full.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Platform-specific Notes</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="admin.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Building with <SPAN
CLASS="PRODUCTNAME"
>Visual C++</SPAN
> or the
  <SPAN
CLASS="PRODUCTNAME"
>Platform SDK</SPAN
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>